#ifndef __CHECKBOXEXAMPLE_H__
#define __CHECKBOXEXAMPLE_H__
#pragma once
#include "stdafx.h"
#include "FCUIXml.h"

class CheckBoxExample : public FCUIXml, public FCEventCallBack{
public:
    /*
     * 创建控件
     */
    virtual FCView* createView(xmlNodePtr node, const String& type);
    /*
    * 加载文件
    * @param fileName 文件名
    * @param view 视图
    */
    virtual void loadFile(const String& fileName, FCView *view);
    /*
     * 事件
     * @param eventName 事件ID
     * @param sender 发送者
     * @param invoke 引用者
     */
    virtual void callEvent(String eventName, Object sender, Object invoke);
};


/*
* 自定义复选框
*/
class MyCheckBox:public FCCheckBox{
public:
    MyCheckBox();
    virtual ~MyCheckBox();
    int m_timerID;
    int m_currentX;
    /*
    * 移除视图
    */
    virtual void onRemove();
    /*
    * 点击事件
    * @param touchInfo 触摸信息
    */
    virtual void onClick(FCTouchInfo touchInfo);
    /*
     * 秒表事件
     * @param timerID 秒表ID
     */
    virtual void onTimer(int timerID);
    /*
    * 重绘边线方法
    * @param paint 绘图对象
    * @param clipRect 裁剪区域
    */
    virtual void onPaintCheckButton(FCPaint *paint, const FCRect& clipRect);
    /*
    * 重绘边线方法
    * @param paint 绘图对象
    * @param clipRect 裁剪区域
    */
    virtual void onPaintBorder(FCPaint *paint, const FCRect& clipRect);
    /*
    * 重绘边线方法
    * @param paint 绘图对象
    * @param clipRect 裁剪区域
    */
    virtual void onPaintForeground(FCPaint *paint, const FCRect& clipRect);
};

#endif
